package com.exam.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ExExamExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ExExamExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andExamidIsNull() {
            addCriterion("ExamId is null");
            return (Criteria) this;
        }

        public Criteria andExamidIsNotNull() {
            addCriterion("ExamId is not null");
            return (Criteria) this;
        }

        public Criteria andExamidEqualTo(Integer value) {
            addCriterion("ExamId =", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidNotEqualTo(Integer value) {
            addCriterion("ExamId <>", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidGreaterThan(Integer value) {
            addCriterion("ExamId >", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidGreaterThanOrEqualTo(Integer value) {
            addCriterion("ExamId >=", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidLessThan(Integer value) {
            addCriterion("ExamId <", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidLessThanOrEqualTo(Integer value) {
            addCriterion("ExamId <=", value, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidIn(List<Integer> values) {
            addCriterion("ExamId in", values, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidNotIn(List<Integer> values) {
            addCriterion("ExamId not in", values, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidBetween(Integer value1, Integer value2) {
            addCriterion("ExamId between", value1, value2, "examid");
            return (Criteria) this;
        }

        public Criteria andExamidNotBetween(Integer value1, Integer value2) {
            addCriterion("ExamId not between", value1, value2, "examid");
            return (Criteria) this;
        }

        public Criteria andExamnameIsNull() {
            addCriterion("ExamName is null");
            return (Criteria) this;
        }

        public Criteria andExamnameIsNotNull() {
            addCriterion("ExamName is not null");
            return (Criteria) this;
        }

        public Criteria andExamnameEqualTo(String value) {
            addCriterion("ExamName =", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameNotEqualTo(String value) {
            addCriterion("ExamName <>", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameGreaterThan(String value) {
            addCriterion("ExamName >", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameGreaterThanOrEqualTo(String value) {
            addCriterion("ExamName >=", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameLessThan(String value) {
            addCriterion("ExamName <", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameLessThanOrEqualTo(String value) {
            addCriterion("ExamName <=", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameLike(String value) {
            addCriterion("ExamName like", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameNotLike(String value) {
            addCriterion("ExamName not like", value, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameIn(List<String> values) {
            addCriterion("ExamName in", values, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameNotIn(List<String> values) {
            addCriterion("ExamName not in", values, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameBetween(String value1, String value2) {
            addCriterion("ExamName between", value1, value2, "examname");
            return (Criteria) this;
        }

        public Criteria andExamnameNotBetween(String value1, String value2) {
            addCriterion("ExamName not between", value1, value2, "examname");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNull() {
            addCriterion("StartTime is null");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNotNull() {
            addCriterion("StartTime is not null");
            return (Criteria) this;
        }

        public Criteria andStarttimeEqualTo(Date value) {
            addCriterion("StartTime =", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotEqualTo(Date value) {
            addCriterion("StartTime <>", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThan(Date value) {
            addCriterion("StartTime >", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("StartTime >=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThan(Date value) {
            addCriterion("StartTime <", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThanOrEqualTo(Date value) {
            addCriterion("StartTime <=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeIn(List<Date> values) {
            addCriterion("StartTime in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotIn(List<Date> values) {
            addCriterion("StartTime not in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeBetween(Date value1, Date value2) {
            addCriterion("StartTime between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotBetween(Date value1, Date value2) {
            addCriterion("StartTime not between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andDurationIsNull() {
            addCriterion("Duration is null");
            return (Criteria) this;
        }

        public Criteria andDurationIsNotNull() {
            addCriterion("Duration is not null");
            return (Criteria) this;
        }

        public Criteria andDurationEqualTo(BigDecimal value) {
            addCriterion("Duration =", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotEqualTo(BigDecimal value) {
            addCriterion("Duration <>", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationGreaterThan(BigDecimal value) {
            addCriterion("Duration >", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("Duration >=", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationLessThan(BigDecimal value) {
            addCriterion("Duration <", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationLessThanOrEqualTo(BigDecimal value) {
            addCriterion("Duration <=", value, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationIn(List<BigDecimal> values) {
            addCriterion("Duration in", values, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotIn(List<BigDecimal> values) {
            addCriterion("Duration not in", values, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Duration between", value1, value2, "duration");
            return (Criteria) this;
        }

        public Criteria andDurationNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("Duration not between", value1, value2, "duration");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("EndTime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("EndTime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(Date value) {
            addCriterion("EndTime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(Date value) {
            addCriterion("EndTime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(Date value) {
            addCriterion("EndTime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("EndTime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(Date value) {
            addCriterion("EndTime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(Date value) {
            addCriterion("EndTime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<Date> values) {
            addCriterion("EndTime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<Date> values) {
            addCriterion("EndTime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(Date value1, Date value2) {
            addCriterion("EndTime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(Date value1, Date value2) {
            addCriterion("EndTime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andExamtypeIsNull() {
            addCriterion("ExamType is null");
            return (Criteria) this;
        }

        public Criteria andExamtypeIsNotNull() {
            addCriterion("ExamType is not null");
            return (Criteria) this;
        }

        public Criteria andExamtypeEqualTo(Integer value) {
            addCriterion("ExamType =", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeNotEqualTo(Integer value) {
            addCriterion("ExamType <>", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeGreaterThan(Integer value) {
            addCriterion("ExamType >", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("ExamType >=", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeLessThan(Integer value) {
            addCriterion("ExamType <", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeLessThanOrEqualTo(Integer value) {
            addCriterion("ExamType <=", value, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeIn(List<Integer> values) {
            addCriterion("ExamType in", values, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeNotIn(List<Integer> values) {
            addCriterion("ExamType not in", values, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeBetween(Integer value1, Integer value2) {
            addCriterion("ExamType between", value1, value2, "examtype");
            return (Criteria) this;
        }

        public Criteria andExamtypeNotBetween(Integer value1, Integer value2) {
            addCriterion("ExamType not between", value1, value2, "examtype");
            return (Criteria) this;
        }

        public Criteria andSceniclistIsNull() {
            addCriterion("ScenicList is null");
            return (Criteria) this;
        }

        public Criteria andSceniclistIsNotNull() {
            addCriterion("ScenicList is not null");
            return (Criteria) this;
        }

        public Criteria andSceniclistEqualTo(String value) {
            addCriterion("ScenicList =", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistNotEqualTo(String value) {
            addCriterion("ScenicList <>", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistGreaterThan(String value) {
            addCriterion("ScenicList >", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistGreaterThanOrEqualTo(String value) {
            addCriterion("ScenicList >=", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistLessThan(String value) {
            addCriterion("ScenicList <", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistLessThanOrEqualTo(String value) {
            addCriterion("ScenicList <=", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistLike(String value) {
            addCriterion("ScenicList like", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistNotLike(String value) {
            addCriterion("ScenicList not like", value, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistIn(List<String> values) {
            addCriterion("ScenicList in", values, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistNotIn(List<String> values) {
            addCriterion("ScenicList not in", values, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistBetween(String value1, String value2) {
            addCriterion("ScenicList between", value1, value2, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andSceniclistNotBetween(String value1, String value2) {
            addCriterion("ScenicList not between", value1, value2, "sceniclist");
            return (Criteria) this;
        }

        public Criteria andStudentlistIsNull() {
            addCriterion("StudentList is null");
            return (Criteria) this;
        }

        public Criteria andStudentlistIsNotNull() {
            addCriterion("StudentList is not null");
            return (Criteria) this;
        }

        public Criteria andStudentlistEqualTo(String value) {
            addCriterion("StudentList =", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistNotEqualTo(String value) {
            addCriterion("StudentList <>", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistGreaterThan(String value) {
            addCriterion("StudentList >", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistGreaterThanOrEqualTo(String value) {
            addCriterion("StudentList >=", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistLessThan(String value) {
            addCriterion("StudentList <", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistLessThanOrEqualTo(String value) {
            addCriterion("StudentList <=", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistLike(String value) {
            addCriterion("StudentList like", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistNotLike(String value) {
            addCriterion("StudentList not like", value, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistIn(List<String> values) {
            addCriterion("StudentList in", values, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistNotIn(List<String> values) {
            addCriterion("StudentList not in", values, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistBetween(String value1, String value2) {
            addCriterion("StudentList between", value1, value2, "studentlist");
            return (Criteria) this;
        }

        public Criteria andStudentlistNotBetween(String value1, String value2) {
            addCriterion("StudentList not between", value1, value2, "studentlist");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderIsNull() {
            addCriterion("IsQueRandomOrder is null");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderIsNotNull() {
            addCriterion("IsQueRandomOrder is not null");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderEqualTo(Boolean value) {
            addCriterion("IsQueRandomOrder =", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderNotEqualTo(Boolean value) {
            addCriterion("IsQueRandomOrder <>", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderGreaterThan(Boolean value) {
            addCriterion("IsQueRandomOrder >", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsQueRandomOrder >=", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderLessThan(Boolean value) {
            addCriterion("IsQueRandomOrder <", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderLessThanOrEqualTo(Boolean value) {
            addCriterion("IsQueRandomOrder <=", value, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderIn(List<Boolean> values) {
            addCriterion("IsQueRandomOrder in", values, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderNotIn(List<Boolean> values) {
            addCriterion("IsQueRandomOrder not in", values, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderBetween(Boolean value1, Boolean value2) {
            addCriterion("IsQueRandomOrder between", value1, value2, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsquerandomorderNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsQueRandomOrder not between", value1, value2, "isquerandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderIsNull() {
            addCriterion("IsQueOpRandomOrder is null");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderIsNotNull() {
            addCriterion("IsQueOpRandomOrder is not null");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderEqualTo(Boolean value) {
            addCriterion("IsQueOpRandomOrder =", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderNotEqualTo(Boolean value) {
            addCriterion("IsQueOpRandomOrder <>", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderGreaterThan(Boolean value) {
            addCriterion("IsQueOpRandomOrder >", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderGreaterThanOrEqualTo(Boolean value) {
            addCriterion("IsQueOpRandomOrder >=", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderLessThan(Boolean value) {
            addCriterion("IsQueOpRandomOrder <", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderLessThanOrEqualTo(Boolean value) {
            addCriterion("IsQueOpRandomOrder <=", value, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderIn(List<Boolean> values) {
            addCriterion("IsQueOpRandomOrder in", values, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderNotIn(List<Boolean> values) {
            addCriterion("IsQueOpRandomOrder not in", values, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderBetween(Boolean value1, Boolean value2) {
            addCriterion("IsQueOpRandomOrder between", value1, value2, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andIsqueoprandomorderNotBetween(Boolean value1, Boolean value2) {
            addCriterion("IsQueOpRandomOrder not between", value1, value2, "isqueoprandomorder");
            return (Criteria) this;
        }

        public Criteria andLateminuteIsNull() {
            addCriterion("LateMinute is null");
            return (Criteria) this;
        }

        public Criteria andLateminuteIsNotNull() {
            addCriterion("LateMinute is not null");
            return (Criteria) this;
        }

        public Criteria andLateminuteEqualTo(Integer value) {
            addCriterion("LateMinute =", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteNotEqualTo(Integer value) {
            addCriterion("LateMinute <>", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteGreaterThan(Integer value) {
            addCriterion("LateMinute >", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteGreaterThanOrEqualTo(Integer value) {
            addCriterion("LateMinute >=", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteLessThan(Integer value) {
            addCriterion("LateMinute <", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteLessThanOrEqualTo(Integer value) {
            addCriterion("LateMinute <=", value, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteIn(List<Integer> values) {
            addCriterion("LateMinute in", values, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteNotIn(List<Integer> values) {
            addCriterion("LateMinute not in", values, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteBetween(Integer value1, Integer value2) {
            addCriterion("LateMinute between", value1, value2, "lateminute");
            return (Criteria) this;
        }

        public Criteria andLateminuteNotBetween(Integer value1, Integer value2) {
            addCriterion("LateMinute not between", value1, value2, "lateminute");
            return (Criteria) this;
        }

        public Criteria andNohandinIsNull() {
            addCriterion("NoHandIn is null");
            return (Criteria) this;
        }

        public Criteria andNohandinIsNotNull() {
            addCriterion("NoHandIn is not null");
            return (Criteria) this;
        }

        public Criteria andNohandinEqualTo(Integer value) {
            addCriterion("NoHandIn =", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinNotEqualTo(Integer value) {
            addCriterion("NoHandIn <>", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinGreaterThan(Integer value) {
            addCriterion("NoHandIn >", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinGreaterThanOrEqualTo(Integer value) {
            addCriterion("NoHandIn >=", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinLessThan(Integer value) {
            addCriterion("NoHandIn <", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinLessThanOrEqualTo(Integer value) {
            addCriterion("NoHandIn <=", value, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinIn(List<Integer> values) {
            addCriterion("NoHandIn in", values, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinNotIn(List<Integer> values) {
            addCriterion("NoHandIn not in", values, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinBetween(Integer value1, Integer value2) {
            addCriterion("NoHandIn between", value1, value2, "nohandin");
            return (Criteria) this;
        }

        public Criteria andNohandinNotBetween(Integer value1, Integer value2) {
            addCriterion("NoHandIn not between", value1, value2, "nohandin");
            return (Criteria) this;
        }

        public Criteria andRemindminIsNull() {
            addCriterion("RemindMin is null");
            return (Criteria) this;
        }

        public Criteria andRemindminIsNotNull() {
            addCriterion("RemindMin is not null");
            return (Criteria) this;
        }

        public Criteria andRemindminEqualTo(Integer value) {
            addCriterion("RemindMin =", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminNotEqualTo(Integer value) {
            addCriterion("RemindMin <>", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminGreaterThan(Integer value) {
            addCriterion("RemindMin >", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminGreaterThanOrEqualTo(Integer value) {
            addCriterion("RemindMin >=", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminLessThan(Integer value) {
            addCriterion("RemindMin <", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminLessThanOrEqualTo(Integer value) {
            addCriterion("RemindMin <=", value, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminIn(List<Integer> values) {
            addCriterion("RemindMin in", values, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminNotIn(List<Integer> values) {
            addCriterion("RemindMin not in", values, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminBetween(Integer value1, Integer value2) {
            addCriterion("RemindMin between", value1, value2, "remindmin");
            return (Criteria) this;
        }

        public Criteria andRemindminNotBetween(Integer value1, Integer value2) {
            addCriterion("RemindMin not between", value1, value2, "remindmin");
            return (Criteria) this;
        }

        public Criteria andPaperidIsNull() {
            addCriterion("PaperId is null");
            return (Criteria) this;
        }

        public Criteria andPaperidIsNotNull() {
            addCriterion("PaperId is not null");
            return (Criteria) this;
        }

        public Criteria andPaperidEqualTo(Integer value) {
            addCriterion("PaperId =", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidNotEqualTo(Integer value) {
            addCriterion("PaperId <>", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidGreaterThan(Integer value) {
            addCriterion("PaperId >", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidGreaterThanOrEqualTo(Integer value) {
            addCriterion("PaperId >=", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidLessThan(Integer value) {
            addCriterion("PaperId <", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidLessThanOrEqualTo(Integer value) {
            addCriterion("PaperId <=", value, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidIn(List<Integer> values) {
            addCriterion("PaperId in", values, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidNotIn(List<Integer> values) {
            addCriterion("PaperId not in", values, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidBetween(Integer value1, Integer value2) {
            addCriterion("PaperId between", value1, value2, "paperid");
            return (Criteria) this;
        }

        public Criteria andPaperidNotBetween(Integer value1, Integer value2) {
            addCriterion("PaperId not between", value1, value2, "paperid");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("CreateTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("CreateTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("CreateTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CreateTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("CreateTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("CreateTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("CreateTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("CreateTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("CreateTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("CreateTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatepersonIsNull() {
            addCriterion("CreatePerson is null");
            return (Criteria) this;
        }

        public Criteria andCreatepersonIsNotNull() {
            addCriterion("CreatePerson is not null");
            return (Criteria) this;
        }

        public Criteria andCreatepersonEqualTo(String value) {
            addCriterion("CreatePerson =", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonNotEqualTo(String value) {
            addCriterion("CreatePerson <>", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonGreaterThan(String value) {
            addCriterion("CreatePerson >", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonGreaterThanOrEqualTo(String value) {
            addCriterion("CreatePerson >=", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonLessThan(String value) {
            addCriterion("CreatePerson <", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonLessThanOrEqualTo(String value) {
            addCriterion("CreatePerson <=", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonLike(String value) {
            addCriterion("CreatePerson like", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonNotLike(String value) {
            addCriterion("CreatePerson not like", value, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonIn(List<String> values) {
            addCriterion("CreatePerson in", values, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonNotIn(List<String> values) {
            addCriterion("CreatePerson not in", values, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonBetween(String value1, String value2) {
            addCriterion("CreatePerson between", value1, value2, "createperson");
            return (Criteria) this;
        }

        public Criteria andCreatepersonNotBetween(String value1, String value2) {
            addCriterion("CreatePerson not between", value1, value2, "createperson");
            return (Criteria) this;
        }

        public Criteria andExamchaIsNull() {
            addCriterion("ExamCha is null");
            return (Criteria) this;
        }

        public Criteria andExamchaIsNotNull() {
            addCriterion("ExamCha is not null");
            return (Criteria) this;
        }

        public Criteria andExamchaEqualTo(Integer value) {
            addCriterion("ExamCha =", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaNotEqualTo(Integer value) {
            addCriterion("ExamCha <>", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaGreaterThan(Integer value) {
            addCriterion("ExamCha >", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaGreaterThanOrEqualTo(Integer value) {
            addCriterion("ExamCha >=", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaLessThan(Integer value) {
            addCriterion("ExamCha <", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaLessThanOrEqualTo(Integer value) {
            addCriterion("ExamCha <=", value, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaIn(List<Integer> values) {
            addCriterion("ExamCha in", values, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaNotIn(List<Integer> values) {
            addCriterion("ExamCha not in", values, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaBetween(Integer value1, Integer value2) {
            addCriterion("ExamCha between", value1, value2, "examcha");
            return (Criteria) this;
        }

        public Criteria andExamchaNotBetween(Integer value1, Integer value2) {
            addCriterion("ExamCha not between", value1, value2, "examcha");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("UserId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("UserId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("UserId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("UserId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("UserId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("UserId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("UserId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("UserId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("UserId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("UserId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("UserId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("UserId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andCreateusernameIsNull() {
            addCriterion("CreateUserName is null");
            return (Criteria) this;
        }

        public Criteria andCreateusernameIsNotNull() {
            addCriterion("CreateUserName is not null");
            return (Criteria) this;
        }

        public Criteria andCreateusernameEqualTo(String value) {
            addCriterion("CreateUserName =", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameNotEqualTo(String value) {
            addCriterion("CreateUserName <>", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameGreaterThan(String value) {
            addCriterion("CreateUserName >", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameGreaterThanOrEqualTo(String value) {
            addCriterion("CreateUserName >=", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameLessThan(String value) {
            addCriterion("CreateUserName <", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameLessThanOrEqualTo(String value) {
            addCriterion("CreateUserName <=", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameLike(String value) {
            addCriterion("CreateUserName like", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameNotLike(String value) {
            addCriterion("CreateUserName not like", value, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameIn(List<String> values) {
            addCriterion("CreateUserName in", values, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameNotIn(List<String> values) {
            addCriterion("CreateUserName not in", values, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameBetween(String value1, String value2) {
            addCriterion("CreateUserName between", value1, value2, "createusername");
            return (Criteria) this;
        }

        public Criteria andCreateusernameNotBetween(String value1, String value2) {
            addCriterion("CreateUserName not between", value1, value2, "createusername");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistIsNull() {
            addCriterion("ShortAnswerList is null");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistIsNotNull() {
            addCriterion("ShortAnswerList is not null");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistEqualTo(String value) {
            addCriterion("ShortAnswerList =", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistNotEqualTo(String value) {
            addCriterion("ShortAnswerList <>", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistGreaterThan(String value) {
            addCriterion("ShortAnswerList >", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistGreaterThanOrEqualTo(String value) {
            addCriterion("ShortAnswerList >=", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistLessThan(String value) {
            addCriterion("ShortAnswerList <", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistLessThanOrEqualTo(String value) {
            addCriterion("ShortAnswerList <=", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistLike(String value) {
            addCriterion("ShortAnswerList like", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistNotLike(String value) {
            addCriterion("ShortAnswerList not like", value, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistIn(List<String> values) {
            addCriterion("ShortAnswerList in", values, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistNotIn(List<String> values) {
            addCriterion("ShortAnswerList not in", values, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistBetween(String value1, String value2) {
            addCriterion("ShortAnswerList between", value1, value2, "shortanswerlist");
            return (Criteria) this;
        }

        public Criteria andShortanswerlistNotBetween(String value1, String value2) {
            addCriterion("ShortAnswerList not between", value1, value2, "shortanswerlist");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}